Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update OpenVPN3 to least version #3

Open
wants to merge 355 commits into
base: master-amnezia
Choose a base branch
from

Conversation

outspace
Copy link
Collaborator

@outspace outspace commented Jun 6, 2024

No description provided.

jamesyonan and others added 30 commits July 1, 2022 15:57
…xpanded its function

test/openssl_pki/pkitest.cpp (formerly moved misc/certcrl.cpp)
is an attempt to more fully test the OpenSSL PKI wrappers.

Signed-off-by: James Yonan <[email protected]>
…ict parameter added to SessionIDType::find_weak()

Signed-off-by: James Yonan <[email protected]>
See test/jytest/README.txt for documentation.

Signed-off-by: James Yonan <[email protected]>
Lower amount of round from 10 million to 1 million since the test
will now be run every time and otherwise takes 20s

Signed-off-by: Arne Schwabe <[email protected]>
- use platform independent random instead DevURand
- use pipe only on Unix

Signed-off-by: Arne Schwabe <[email protected]>
Rename test_icmp6csum to test_ip to collect all small ip related tests

Signed-off-by: Arne Schwabe <[email protected]>
flichtenheld and others added 29 commits March 4, 2024 12:58
For now define vcpkg builds for MSVC and MinGW

Signed-off-by: Frank Lichtenheld <[email protected]>
(cherry picked from commit 63499ba)
Always use find_package for all libraries.
Add missing Find*.cmake modules.
Always define an IMPORTED library in Find*

Signed-off-by: Frank Lichtenheld <[email protected]>
(cherry picked from commit d7b3419)
Helpfully the comment above the code actually provided
a solution...

Signed-off-by: Frank Lichtenheld <[email protected]>
(cherry picked from commit db7ea3d)
We do not want to force a dependency on powershell.
Copying the right dlls is rather trivial.

Same change as commit commit e9e4923
for build-vcpkg script.

Signed-off-by: Frank Lichtenheld <[email protected]>
(cherry picked from commit 1f5aa58)
By adding the asio includes first we have a better
chance to force using "our" asio. This can be important
since some parts of the code require a patched version.

The actual "core" parts of the code work fine with
upstream asio however, so I also do not want to
force the patched asio by requiring a special header
name or directory structure.

So this is a compromise solution which hopefully works
for most use-cases.

Signed-off-by: Frank Lichtenheld <[email protected]>
(cherry picked from commit bc7f4be)
- Use CURRENT source and binary dir to make this work even
  if used as a sub-directory in another project.
- Make USE_MDFILE_AS_MAINPAGE actually work. It is only
  used when part of the INPUT and does not automatically
  add it to INPUT.
- Make sure CMake uses the latest version of README.rst
  by using configure_file instead of file(COPY).
- Improve EXCLUDE_PATTERNS.
- Add NUM_PROC_THREADS.

Signed-off-by: Frank Lichtenheld <[email protected]>
(cherry picked from commit 474de6c)
This is very noisy with lots of false positives, especially
in newer version of GCC. So for now disable this.

Signed-off-by: Frank Lichtenheld <[email protected]>
(cherry picked from commit d7e8375)
The earlier were deprecated since CMake 3.12.
Since CMake 3.27 this causes deprecation warnings.
Should be safe nowadays to require CMake 3.12.

Signed-off-by: Frank Lichtenheld <[email protected]>
(cherry picked from commit bb61350)
On modern CMake this gets us swig dependency management,
which should reduce problems for incremental builds.
Also it is just cleaner.

Signed-off-by: Frank Lichtenheld <[email protected]>
(cherry picked from commit 72275db)
Using the <max> argument to cmake_minimum_required will
set all policies up to <max> to NEW. We might need to
fix some issues arising from that, but this means that
modern CMake can already behave like it wants even with
leaving <min> so that we can support old distros (currently
Debian 10).

Signed-off-by: Frank Lichtenheld <[email protected]>
(cherry picked from commit 268bf42)
- Set CXX_STANDARD_REQUIRED ON so that we error out early
  if CMake thinks that the compiler does not support the
  used standard.
- Set CXX_EXTENSIONS OFF so that we get less compiler
  specific behavior.

Signed-off-by: Frank Lichtenheld <[email protected]>
(cherry picked from commit 9b8797f)
Makes it easier to test with -Wconversion, e.g. in Jenkins.

For now disable -Wsign-conversion. That is the default in g++,
but not clang++. Once we have fixed all -Wsign-conversion
warnings, we can enable it for both.

For now disable -Wenum-enum-conversion. Only present in clang++.
Not clear whether cleaning those up will be worth the effort.

Disable -ferror-limit in clang++. This ensures that it always
displays all errors.

Signed-off-by: Frank Lichtenheld <[email protected]>
(cherry picked from commit 6e7a98b)
This makes it easier to add other configuration
variants to test.

Signed-off-by: Frank Lichtenheld <[email protected]>
Config

    client
    pull

was not correctly handled like client + tls-client
since the code short-circuited if tls-client wasn't set
and so didn't touch pull option.

Github: OpenVPN#277
Signed-off-by: Frank Lichtenheld <[email protected]>
This also move the building IV_HWADDR peer info variable to the point
that the server address is actually available.

This also avoids failing to connect when push-peer-info is enabled and
there is no IPv4 default gateway. The new code will always pick the device
that holds the route to the current remote.

Signed-off-by: Arne Schwabe <[email protected]>
A few minor changes:

 - add ORGANIZATION meta option to ignore list

 - remove excessive OVPN_ACCESS_SERVER_ prefix from NO_WEB meta option

 - Increase status message length from 256 to 2048 to be able to show
   the full list of unsupported options

Signed-off-by: Lev Stipakov <[email protected]>
In commit 1b4f736, an additional parentheses was added to
the MacGatewayInfo constructor.  This results in code which cannot be
compiled.

Signed-off-by: David Sommerseth <[email protected]>
The sys/socket.h header is not available on Windows.  This issue was
introduced in commit 1b4f736, so the same fencing used in
that commit was also added around the #include statement.

Signed-off-by: David Sommerseth <[email protected]>
The previous commit restructured the way how peer info was built and
accidentally move those into its own method without calling the method.

Signed-off-by: Arne Schwabe <[email protected]>
The code in dco/dcocli.hpp used #if ENABLE_KOVPN, which will
fail on newer compilers if the macro is defined in a source
file.  Compilers may not complain if the macro is defined on
the command line, via -D.

This type of checks should use either #ifdef or #if defined(...).
The #if conditional expects a boolean expression.

Since these code blocks also depended on #elif (also expects
a boolean expression , the defined(...) approach was chosen
throughout this file.

Signed-off-by: David Sommerseth <[email protected]>
The openvpn3-linux ships with a netcfg-cli client, which is essentially
the same code as test/ovpncli/cli.cpp but it uses the
net.openvpn.v3.netcfg D-Bus service to create the virtual network
adapter and the related network and DNS configuration.  This is a useful
test client when only wanting to test the Network Configuration service
openvpn3-linux ships with.

As part of the refactoring of the D-Bus implementation in
openvpn3-linux, the supporting D-Bus setup needs to be adjusted to the
new D-Bus API.

It has been considered to support both types of APIs, but the legacy
D-Bus API is deprecated and will not be used any more after the release
of OpenVPN 3 Linux v22_dev.  Prior releases will depend on an older
OpenVPN 3 Core library version, which contains the old API.

Signed-off-by: David Sommerseth <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants